package com.ly.proxy615.dynamicsProxy.cglib;

public class CglibTest01 {

    public static void main(String[] args) {

        //创建cglib代理对象
        CglibTest01Proxy cglibTest01Proxy = new CglibTest01Proxy();
        //创建真实对象
        CglibTest01 cg = cglibTest01Proxy.getproxy(CglibTest01.class);
        //对象执行方法
        cg.run("fdsfds");
    }

    //定义方法
    public void run(String ip){
        System.out.println("run"+ip);
    }

}


/**
 * cglib代理方法:
 * 1声明代理类,实现Methodinterceptor接口
 * 2,编写一个getproxy方法利用Enhancer类的create方法参数为类类型,返回类类型对象
 * 3.重写方法,方法内,方法代理对象调用invokeSuper方法,参数为对象及参数,返回代理对象,在前后可以调用方法,实现代理操作
 * 4.编写main类  定义一个方法 public修饰
 * 5.编写主方法,创建代理对象,对象调用getproxy()方法,参数为Main类类型,得到代理对象
 * 6.代理对象调用方法 执行  即可
 *
 */
